python中的二进制、八进制、十六进制的相互转换

您所在的位置:网站首页 python 10进制转换16进制 python中的二进制、八进制、十六进制的相互转换

python中的二进制、八进制、十六进制的相互转换

2023-12-16 14:29| 来源: 网络整理| 查看: 265

1 二进制、八进制、十六进制 转到 十进制

使用int(str, n)即可完成二进制、八进制、十六进制到十进制的转换:

str:是要转换的进制具体数,类型字符串n:是要转换的进制,类型整型 1.1 二进制 转 十进制 int(str_b, 2) >>> int('0101',2) 5 >>>

b 0101 = 2 2 + 2 0 = 5 b0101=2^2+2^0=5 b0101=22+20=5

1.2 八进制 转 十进制 int(str_0, 8) >>> int('24', 8) 20 >>>

024 = 2 ∗ 8 1 + 4 ∗ 8 0 = 20 024 = 2*8^1+4*8^0=20 024=2∗81+4∗80=20

转成十进制:其实就是相当于8进制对应的十位,和8进制对应的个位,然后相加在一起

1.3 十六进制 转 十进制 int(str_x, 16) >>> int('0xf2', 16) 242 >>> int('0Xf2', 16) 242 >>>

0 x a 2 = 15 ∗ 1 6 1 + 2 ∗ 1 6 0 = 242 0xa2 = 15*16^1+2 *16^0=242 0xa2=15∗161+2∗160=242

注意:

上面的b、o、x大写和小写都是可以的!!!

1.4 pyton中的二进制、八进制、十六进制在命令行中显示也都是以十进制显示的 >>> bin_num = 0b0101 >>> bin_num 5 >>> ord_num = 0o24 >>> ord_num 20 >>> hex_num = 0xf3 >>> hex_num 243 >>>

二进制、八进制、十六进制虽然写成各个进制的形式,但是本质上还是十进制的数:

>>> oct_num = 0o24 >>> oct_num 20 >>> res = oct_num * 3 >>> res 60 >>> type(oct_num) >>> 2 十进制 转到 二进制、八进制、十六进制 2.1 十进制 转 二进制

-bin(int):十进制 转 二进制,返回值是二进制形式的字符串

>>> bin_num = bin(17) >>> bin_num '0b10001' >>> type(bin_num) >>> 2.2 十进制 转 八进制 oct(int):十进制 转 八进制,返回值是八进制形式的字符串 >>> oct_num = oct(17) >>> oct_num '0o21' >>> type(oct_num) >>> 2.3 十进制 转 十六进制 hex(int):十进制 转 十六进制,返回值是十六进制形式的字符串 >>> hex_num = hex(17) >>> hex_num '0x11' >>> type(hex_num) >>> 3 二进制、八进制、十六进制之间相互转换

二进制、八进制、十六进制之间相互转换,只需要在十进制作为过度一下即可!!!下面以二进制 转 十六进制为例,其他一样!

3.1 二进制 转 十六进制

1、先把二进制转为十进制

int(str_b, 2) >>> int('0b01011', 2) 11 >>>

2、再把十进制转为十六进制

hex(int) >>> hex(11) '0xb' >>>

3、合在一起写

hex(int(str_b, 2)) >>> hex(int('0b01011', 2)) '0xb' >>>

参考:https://blog.csdn.net/weixin_43353539/article/details/89444838 参考:https://blog.csdn.net/u012063703/article/details/42609833 参考:https://blog.csdn.net/hmh4640219/article/details/112506803



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3